// import com.alibaba.druid.sql.visitor.SQLASTVisitor;

// import java.util.ArrayList;
// import java.util.List;
#pragma once
#include "SQLObjectImpl.h"

class SQLPartitionSpec_Item : virtual public SQLObjectImpl
{
public:
  SQLName_ptr column;
  SQLExpr_ptr value;
SHAREDOBJECT(SQLPartitionSpec_Item);
  // @Override
  void accept0(SQLASTVisitor_ptr v);

  SQLObject_ptr clone();

  SQLName_ptr getColumn();

  void setColumn(SQLName_ptr column);

  SQLExpr_ptr getValue();

  void setValue(SQLExpr_ptr value);
};

class SQLPartitionSpec : virtual public SQLObjectImpl
{
public:
  SQLPartitionSpec_Item_list_ptr items;
  SQLPartitionSpec();
  SHAREDOBJECT(SQLPartitionSpec);
  // @Override
  void accept0(SQLASTVisitor_ptr v);

  void addItem(SQLPartitionSpec_Item_ptr item);

  SQLPartitionSpec_Item_list_ptr getItems();

  SQLObject_ptr clone();
};
